import sistema.*
import autenticacao.*

class BootStrap {
    def springSecurityService
    
    def init = {
        def userRole = Perfil.findByAuthority('ROLE_USUARIO') ?: new Perfil(authority: 'ROLE_USUARIO').save(failOnError: true)
        def adminRole = Perfil.findByAuthority('ROLE_ADMIN') ?: new Perfil(authority: 'ROLE_ADMIN').save(failOnError: true)
        def vendedorRole = Perfil.findByAuthority('ROLE_VENDEDOR') ?: new Perfil(authority: 'ROLE_VENDEDOR').save(failOnError: true)
        def consultorRole = Perfil.findByAuthority('ROLE_CONSULTOR') ?: new Perfil(authority: 'ROLE_CONSULTOR').save(failOnError: true)
        
        def adminUser = Usuario.findByUsername('admin') ?: new Usuario(
            username: 'admin',
            password: 'admin',
            nome: 'admin',
            rg: 'admin',
            cpf: 'admin',
            endereco: 'admin',
            enderecoNum: 'admin',
            cep: 'admin',
            cidade: 'admin',
            estado: 'Paraná-PR',
            telefone: 'admin',
            celular: 'VIVO',
            operadoraCel: 'VIVO',
            email1: 'admin@originallefolheados.com.br',
            email2: 'admin2@originallefolheados.com.br',
            msn: 'admin@originallefolheados.com.br',
            skype: 'admin',
            enabled: true).save(failOnError: true)

        if (!adminUser.authorities.contains(adminRole)) {
            UsuarioPerfil.create adminUser, adminRole
        }
    }
}
